﻿Imports Microsoft.Xna.Framework.Input
Imports Runa.UI.Input

Namespace Global.Runa.UI.Controls

    Public Delegate Sub KeyboardEventHandler(ByVal sender As Object, ByVal e As KeyboradInputEventArgs)
    Public Delegate Sub MouseEventHandler(ByVal sender As Object, ByVal e As MouseInputEventArgs)
    Public Delegate Sub MouseWheelEventHandler(ByVal sender As Object, ByVal e As MouseInputEventArgs)

    Public Interface IInputElement
        Event BoundsChange As EventHandler
        Event Click As MouseEventHandler
        Event KeyDown As KeyboardEventHandler
        Event KeyUp As KeyboardEventHandler
        Event MouseEnter As MouseEventHandler
        Event MouseLeave As MouseEventHandler
        Event MouseLeftButtonDown As MouseEventHandler
        Event MouseLeftButtonUp As MouseEventHandler
        Event MouseMove As MouseEventHandler
        Event MouseRightButtonDown As MouseEventHandler
        Event MouseRightButtonUp As MouseEventHandler
        Event MouseWheel As MouseWheelEventHandler

        Property Focusable As Boolean
        ReadOnly Property IsEnabled As Boolean
        ReadOnly Property IsKeyboardFocused As Boolean
        ReadOnly Property IsKeyboardFocusWithin As Boolean
        ReadOnly Property IsMouseCaptured As Boolean
        ReadOnly Property IsMouseDirectlyOver As Boolean
        ReadOnly Property IsMouseOver As Boolean
        ReadOnly Property IsStylusCaptured As Boolean
        ReadOnly Property IsStylusDirectlyOver As Boolean
        ReadOnly Property IsStylusOver As Boolean
    End Interface

End Namespace